A typical backup system performs backup operations in a network environment that includes one or more client nodes connected to a backup server. When performing a data backup operation, data to be backed up is transmitted via the network from a client node to the backup server. As will be appreciated, data compression can be used to improve the performance of backup systems. Compressing data prior to transmission can be beneficial in a number of ways. Benefits of compressing data prior to transmission include reducing network bandwidth requirements, preventing network congestion, reducing the amount of storage required at the backup server, and increasing the speed of backup operations. For example, assume a file maintained by a client machine is to be backed up to a backup server. A bandwidth savings is realized, e.g., less data needs to be transmitted over the network, if the file is compressed to a smaller size before transferring the file from the client node to the backup server. Also, the compressed file, being smaller, takes up less storage space at the backup server.
While compressing data prior to transmission can be beneficial, doing so is not without cost. Compressing data requires resources, such as time and processing power. Moreover, not all data are equally amenable to compression. For instance, data that is already compressed is likely to be more difficult to compress further, as compared to other, uncompressed data. Similarly, the resources consumed in compressing small amounts of data may not be justified. In some scenarios the cost of the resources necessary to compress data as part of a backup process may outweigh the benefits of doing so.